home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip: Internet
/
Chip Internet.iso
/
viewer
/
emtex.ins
/
dvineclq
/
dviproc.zoo
/
pctex
/
dvihgc.doc
< prev
next >
Wrap
Text File
|
1990-04-17
|
19KB
|
465 lines
DVIVGA
DVIHGC
Public Domain DVI Previewer for the IBM PC
Doug McDonald
<mcdonald@uiucuxe.bitnet> | <mcdonald@uxe.cso.uiuc.edu>
Martin Bauchrowitz
Stuttgart - W.Germany
Stefan A. M\"uhlenweg
<me50090@dhhuni4.bitnet>
DVIxxx is a TeX screen previewer for the IBM PC. It expects the name of
the .DVI file on the command line, and the extension .dvi can always
be omitted. As illustrated below, it issues a one-line identifier
message and, if no command line arguments are given, type a UNIX-style
message.
This driver and the associated font files are public domain. It is part
of a family written by Nelson Beebe of the University of Utah and
others. The screen previewer is an adaptation of this code by Doug
McDonald at the University of Illinois.
DVIHGC and DVIHGCMS is an adaption of this code by Martin Bauchrowitz.
EQUIPMENT REQUIREMENTS
An IBM PC computer with 512K or more of memory. Alternately, a
compatible with similar specs. The DVIVGA screen driver needs an EGA,
VGA or MCGA graphics adapter, or a clone. DVIHGC screen driver needs
only an HGC grapics adapter. A clock speed of 8MHz minimum is
essentially necessary, unless you are a very patient person.
A 20 or 25MHz machine is fast enough that you will be very happy.
A fast hard disk is also necessary.
DVIVGA will work on computers with EGAs. However, and it is a big however,
the pixels on an EGA are not square. Hence the output will be distorted:
circles come out as vertically stretched ellipses, squares as vertically
stretched rectangles, and text is a bit too high.
Nevertheless, it doesn't look bad at all and is useful.
For HGC-Screens, that's the same however.
OPTIONS
The order of command options and .DVI file name is not significant; all
switch values are accepted by this driver, but not all are really
meaningful.
Letter case is ignored in option switches: -A and -a are equivalent.
-a Implement virtual font caching. This option is
essentially useless for this driver.
-d Produce debugging output on stderr if a non-zero
value is given. These are:
2 --- Display coordinates, metrics, and bitmap
of each character.
8 --- Display each successful file opening.
16 --- Display each unsuccessful file opening.
32 --- Show discarded off-page text.
64 --- Trace virtual font caching.
128 --- Trace character setting.
It is possible to combine these options by adding
their values.
CAUTION: DVIHGC has its own graphic routine. But
======== there is no function implemented that allow
to see text in graphic mode!!!!
You will see only some flimmering lines.
If you're using the -d option with DVIHGC,
please use the -q option too, so DVIHGC will
toggle between text and graphics mode.
-eVAR=value Define environment variables on command line. This
is an alternative to placing them in the DOS
environment.
-ffontsubfile Define an alternate font substitution file which is
to be used instead of the default ones (see below).
-l Inhibit logging.
-m Reset magnification. The default for the screen
driver is -m500 (100dpi). Other values will be reset to
the nearest value in this set. Magnification values less
than 25 are taken to be a TeX magstep parameter
which is applied to the standard magnification for
that device. Thus -m-0.5 will reduce the output size
by the square root of 1.2, -m2 will increase it by
a factor of 1.44.
You may well need to use this parameter frequently;
good values to try are 600, 548, 456, 417, 380,
347, 319, and 289. These are equivalent to -m1,
-m0.5, -m-0.5, ... -m-3. -m380 or -m-1.5 gives actual
size output using VGA on an IBM8513 monitor.
Read about "Batch Files" to find an easy way of
changing sizes.
-q Quiet mode. Status displays to screen are
suppressed, unless warning or error messages are
issued. This switch is a toggle. The default is
not to display messages.
CAUTION: DVIHGC, if you're using the -q option, the
======== screen toggles between text and graphic
mode.
-x#units The -x options specify the left margin of the TeX
page on the output page in any of several units.
Letter case is not significant in the units field,
which must not be separated from the number by any
space. The number may be fractional. For example,
-x1.0in, -x2.54cm, -x72.27pt, and -x6.0225pc all
specify a one-inch left margin. Negative values are
permissible, and may be used to shift the output
page left (possibly truncating it on the left) in
order to display a wide TeX page.
The units field is mandatory, and may be one of
big point (1in = 72bp)
cicero (1cc = 12dd)
centimeter (1in = 2.54cm)
didot point (1157dd = 1238pt)
inch
millimeter (10mm = 1cm)
pica (1pc = 12pt)
point (72.27pt = 1in)
scaled point (65536sp = 1pt)
-y#units This is just like -x except that it is for the top
margin.
Because the normal defaults waste screen space, the
defaults for the screen driver have both been set to
zero. If you wish to get the correct margins and
size, try -x1.in -y1.in -m382 for DVIVGA.
FONT SUBSTITUTION
If no -ffontsubfile option is given, and font substitution is required,
if the current .DVI file is foo.dvi, then the files foo.sub,
texfonts.sub, and TEXINPUTS\texfonts.sub will be tried in order. The
first two will be found on the current directory, and the last is the
default given in the environment string TEXINPUTS. The -f option
allows all of these to be overridden. It is essentially necessary to
have this file if you use a magnification smaller than the default for
DVIVGA. A copy of a suitable one is supplied.
Font substitution lines have the form:
oldname.oldmag subname.submag % comment
oldname oldmag subname submag % comment
oldname subname % comment
Examples are:
----------
% These provide replacements for some LaTeX invisible fonts:
icmr10 1500 -> cmr10 1500 % comment
icmr10.1500 -> cmr10.1500 % comment
icmssb8 -> cmssb8 % comment
----------
The first two forms request substitution of a particular font and
magnification. The third form substitutes an entire font family; the
closest available magnification to the required one will be used. Any
dots in the non-comment portion will be converted to spaces, and
therefore, cannot be part of a name field.
The first matching substitution will be selected, so
magnification-specific substitutions should be given first, before
family substitutions.
Comments are introduced by percent and continue to end-of-line, just as
for TeX. One whitespace character is equivalent to any amount of
whitespace. Whitespace and comments are optional.
SCREEN CONTROL
DVIxxx supports interactive viewing of the TeX output. Here is the
current command list. Input is immediate; no terminating carriage
return is necessary, except for the number command to go to a
particular page.
uparrow downarrow Move the view of the current page up or down. These
commands do not require recalculating the screen
image and are very fast.
D Move the page origin one inch down.
d Move the page origin one-quarter inch down.
U Move the page origin one inch up.
u Move the page origin one-quarter inch up.
L Move the page origin one inch left.
leftarrow or l Move the page origin one-quarter inch right.
R Move the page origin one inch right.
rightarrow or r Move the page origin one-quarter inch right.
"Inches" refers to the "printed" page, and is only
approximate on the screen.
CARRIAGE RETURN see the next page in the document.
PG-DOWN see the next page in the document.
PG- UP see the prev page in the document.
HOME see the first page in the document.
END see the last page in the document.
every number,
followed by
CARRIAGE RETURN see the #th page in the document.
every number,
followed by
ESC makes nothing.
Q (or q or X or x or Ctrl-Break or Ctrl-C or Ctrl-Y or ESC)
Quit or exit. The screen will be cleared and restored to
its normal mode.
B Zoom up one magstep (1.2 times larger) from current
size.
b Zoom up 1/2 magstep (1.09 times larger) from
current size.
S Zoom down one magstep (1.2 times smaller) from
current size.
s Zoom down 1/2 magstep (1.09 times smaller) from
current size.
How well these zoom options work depends on how many
fonts you have loaded: more is better.
The command sequence RDsS will result in a display of
approximately the same size and origin as a printed
page if your physical display is the same size as
the IBM 8513, and you start at the normal defaults.
SPECIALS
The TeX \special command is intended to allow the specification in a
.tex file of a request to the .DVI driver, usually for the insertion
of graphical material at that point in the document. It is not
implemented for the DVIVGA/DVIHGC driver.
BATCH FILES
If you need to use other than the default size a lot, for instance if
your text is wider than 5.6 inches, you can make this convenient by
using a batch file. For example, make a batch file, say DVIWIDE.BAT
containing the line
dvixxx -m417 -x2.0cm -y1.5cm %1
and nothing else. Then if you say "DVIWIDE filename" you will get your
6.5 inch wide file to fit on the page. You can of course adjust these
numbers for your own favorite text shape, and can change other things
as well.
ENVIRONMENT VARIABLES
The behaviour of the .DVI translators can be influenced by definition
of logical names under PC-DOS. Compiled-in internal defaults will be
provided for any of these which are not defined. They should be
entirely in upper case. You may need so many environment strings that
you will have to expand the DOS environment area, maybe as big as 1000
bytes. I am assuming that you have more than one hard disk: if
you have only one, change d: to c:. In that case, PCTeX won't need
to use environment variables.
The names currently recognized are as follows:
FONTLIST Normally, the drivers are prepared to search first for
.pk, then .gf, then .pxl font files. This variable can
be used to change this search order, or remove one or
more of the possibilities. It is expected to contain at
least one of the strings PK, GF, or PXL, possibly
separated by arbitrary punctuation and other text. Letter
case is not significant. Some acceptable strings are
PXL-then-PK-then-GF, pk.gf, use-only-PXL-fonts, and
PXL/GF/PK. For the fonts provided with this product, use
"set FONTLIST=pk".
TEXFONTS This defines the directory path for finding font files.
Its value is prepended to the name of a font to get a
full file specification. A typical value for TEXFONTS
would be d:\pctex\texfonts\. Some people using PCTeX
might prefer d:\pctex\pixel\.
TEXINPUTS This defines the directory path for finding files which
are not in the current working directory. It is
prepended to file names. A typical value for TEXINPUTS
would be d:\pctex\texinput\
DVISCR !!! DVIVGA only !!!
This variable allows specification of a particular video
mode, independent of the automatically assumed one.
Meaningful values are:
set DVISCR=EGAM ega mono screen
set DVISCR=EGAC ega color screen
set DVISCR=VGAM vga mono screen
set DVISCR=VGAC vga color screen
The purpose of this is normally to allow running DVIVGA under
alternative "environments". In particular, under Microsoft Windows
386, setting DVISCR=EGAC or EGAM will allow you to run DVIVGA in a
window if you have a VGA, using the Windows 386 420 line driver. Doing
this will allow looking at screen output simultaneously with looking
at your .tex file in an editor like Windows Write or Notepad.
Getting both PC-TeX and these drivers to work at the same time
requires lots of environment variables.
One set that works for me is:
set TEXFMTS=d:\pctex\texfmts
set TEXINPUTS=d:\pctex\texinput\
set TEXFONTS=d:\pctex\texfonts\ (see section below)
set FONTLIST=PK
where you will note that the ones for the device drivers end in "\"
while the ones for PC-TeX itself don't. You might also need:
set TEXINPUT=d:\pctex\texinput
set TEXTFMS=d:\pctex\textfms
You could get away without expanding your environment by using a
configuration file for PC-TeX, putting it on the PC-TeX command line,
by omitting FONTLIST (which at worst would slow things down a bit),
and by putting the fonts in a directory with a shorter pathname. You
could get rid of TEXINPUTS entirely by putting a copy of texfonts.sub
in your current directory. Again, if you have only one hard disk,
PCTeX probably won't need TEXFMTS, TEXINPUT, and TEXTFMS.
DIRECTORY STRUCTURE FOR FONTS
The fonts have to be placed in a proper manner. Assuming you set, as I
do, TEXFONTS to d:\pctex\texfonts\, you need to place all the fonts
for size 100 in directory d:\pctex\texfonts\100, those for size 121 in
d:\pctex\texfonts\121, etc. Note that this implies that you will have
a lot of subdirectories with names that are numbers. These numbers
are dot per inch values, and are 1/5 the "magnification value" used
with the "m" command line parameter. It is traditional to put .pk
and .gf fonts in directories numbered like that. Pixel (.pxl) files
are, on the other hand, placed in directories with the magnification
value in their name. Thus \100\cmr10.pk and \502\cmr10.pxl are likely
the same font. It appears that PcTeX uses .pxl files a lot for their
drivers. DVIVGA will use those if they are in the size series it expects.
Having .pk and .pxl files in the same directory structure PROBABLY
won't hurt, though it has not been tested. There is nothing magic
about these directory names - if you like \pixel\ instead of \texfonts\,
perhaps because it is already there, use it instead.
BUGS
None presently known, (See LIMITATIONS and EQUIPMENT REQUIREMENTS)
Certain "clone" computers may have problems with floating point math.
If the program behaves oddly, try running with the -q flag. If you get
odd error messages with such phrases as "math" or "floating point"
in them, try adding the string "set NO87=no-80x87-available"
in you environment along with all the other strings. Sometimes
this might make it work. This appears to be a bug the the cloning
process, not this program.
LIMITATIONS
It is limited in the number of fonts they can access. It is vitally
important that you put "FILES=20" or more in your config.sys file. If
you don't, you can get tied up in (almost) infinite searches for files
which can never be loaded. Under optimum circumstances, at least 35
fonts can be used in a document, even on one page. This is for a 640K
computer.
Bugs in either the software or its documentation
should be reported by electronic or postal mail to
Stefan A. M\"uhlenweg
Institut f\"ur Meereskunde der Universit\"at Hamburg
Troplowitzstr. 7
D-2000 Hamburg 54
West-Germany
Tel. +49 (40)4123-2996
EMAIL: me50090@dhhuni4.bitnet
or to
Martin Bauchrowitz
Breslauerstr. 9
D-7257 Ditzingen
West-Germany
Tel. +49 (7156)8220
or to
Doug McDonald
EMAIL:
mcdonald@uiucuxe.bitnet (Bitnet)
mcdonald@uxe.cso.uiuc.edu (Internet)
or to
Nelson H.F. Beebe
Center for Scientific Computation
220 South Physics Building
University of Utah
Salt Lake City, UT 84112
USA
Tel: USA (801) 581-5254
EMAIL: Beebe@Science.Utah.Edu (Internet)